1. Field
Embodiments relate to a method, system, and computer program product for distributed storage of data in a heterogeneous cloud.
2. Background
Cloud storage is a model of data storage in which digital data is stored in logical pools, and the physical storage spans a plurality of servers. The physical storage environment may be owned and managed by a hosting company. These cloud storage providers may be responsible for keeping the data available and accessible, and for keeping the physical environment protected and maintained properly. People and organizations may buy or lease storage capacity from the cloud storage providers to store user, organization, or application data.
In certain storage system environments a storage controller may comprise a plurality of storage servers that are coupled to each other, where one or more of the storage servers may comprise a plurality of processing nodes or servers. The storage controller allows host computing systems to perform input/output (I/O) operations with storage devices controlled by the storage controller.
Redundant array of independent disks (RAID) is a data storage virtualization technology that combines multiple disk drive components into a single logical unit for data redundancy or performance improvement. Data is distributed across the drives in one of several ways, referred to as RAID levels, depending on the specific level of redundancy and performance required. The different schemes or architectures are named by the word RAID followed by a number (e.g. RAID 0, RAID 1). Each scheme provides a different balance among the goals of reliability, availability, performance, and capacity. For example, RAID levels greater than RAID 0 provide protection against unrecoverable read errors, as well as whole disk failures.